﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using BL = class_BL;
using EN = class_Entidad;
using UT = class_Util.valor_constantecs;

namespace WebMenu.Pagina.Mantenimiento
{
    public partial class frmRecetaLista : System.Web.UI.Page
    {
        public void cargarTipoPlato()
        {
            List<EN.ITEMS_EN> lista = new List<EN.ITEMS_EN>();
            EN.ITEMS_EN objItem = new EN.ITEMS_EN();
            objItem.ID_ITEMS = 0;
            objItem.DESC_ITEMS = "";
            objItem.ID_PADRE = 3;

            lista = BL.ITEMS_BL.ListaITEMSGrupo(objItem);
            foreach (var item in lista)
            {
                ddlTipo.Items.Add(new ListItem(Convert.ToString(item.DESC_ITEMS), Convert.ToString(item.ID_ITEMS)));
                //ddlTipoE.Items.Add(new ListItem(Convert.ToString(item.DESC_ITEMS), Convert.ToString(item.ID_ITEMS)));
            }
        }

        public void cargarClasePlato()
        {
            List<EN.ITEMS_EN> lista = new List<EN.ITEMS_EN>();
            EN.ITEMS_EN objItem = new EN.ITEMS_EN();
            objItem.ID_ITEMS = 0;
            objItem.DESC_ITEMS = "";
            objItem.ID_PADRE = 7;

            lista = BL.ITEMS_BL.ListaITEMSGrupo(objItem);
            foreach (var item in lista)
            {
                ddlClase.Items.Add(new ListItem(Convert.ToString(item.DESC_ITEMS), Convert.ToString(item.ID_ITEMS)));
                //ddlClaseE.Items.Add(new ListItem(Convert.ToString(item.DESC_ITEMS), Convert.ToString(item.ID_ITEMS)));
            }
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ddlTipo.Items.Add(new ListItem(UT.desSeleccionar, UT.valSeleccionar));
                ddlClase.Items.Add(new ListItem(UT.desSeleccionar, UT.valSeleccionar));
                cargarTipoPlato();
                cargarClasePlato();
                ListaReceta();
            }
        }

        public void ListaReceta()
        {
            List<EN.LST_RECETA_EN> lista = new List<EN.LST_RECETA_EN>();
            EN.PARAM_RECETA_EN param = new EN.PARAM_RECETA_EN();
            param.ID_RECETA = 0;
            param.TIPO_PLATO = Convert.ToInt32(ddlTipo.SelectedValue);
            param.CLASE_PLATO = Convert.ToInt32(ddlClase.SelectedValue);
            param.NOMBRE_REC = txtReceta.Text;
            lista = BL.RECETA_BL.listaReceta(param);
            gvReceta.DataSource = lista;
            gvReceta.DataBind();
        }

        protected void btnEliminar_Click(object sender, EventArgs e)
        {
            GridView gv = new GridView();
            try
            {
                gv = gvReceta;
                foreach (GridViewRow fila in gv.Rows)
                {
                    if (((CheckBox)fila.Cells[0].FindControl("cbSelec")).Checked == true)
                    {
                        int valor = 0;
                        EN.LST_RECETA_EN objReceta = new EN.LST_RECETA_EN();
                        objReceta.ID_RECETA = Convert.ToDecimal(((HiddenField)fila.Cells[0].FindControl("hdIdReceta")).Value);
                        objReceta.EST_RECETA = (Convert.ToDecimal(((HiddenField)fila.Cells[0].FindControl("EST_RECETA")).Value) == 1) ? 0 : 1;
                        valor = BL.RECETA_BL.EditarEstadoReceta(objReceta);

                    }
                }
                ListaReceta();
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Error", "alert('Se actualizo el estado de los registros selec.');", true);
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Error", "alert('Se presentro un error, volver a intentarlo.');", true);
            }
        }

        protected void btnEditar_Click(object sender, EventArgs e)
        {
            GridView gv = new GridView();
            try
            {
                int valor = 0;
                string ID = string.Empty;
                gv = gvReceta;
                foreach (GridViewRow fila in gv.Rows)
                {
                    if (((CheckBox)fila.Cells[0].FindControl("cbSelec")).Checked == true)
                    {
                        valor++;
                        ID = ((HiddenField)fila.Cells[0].FindControl("hdIdReceta")).Value;
                    }
                }
               if (valor > 1)
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Error", "alert('Solo debe de seleccionar un registro.');", true);
               if (valor == 1)
                   Response.Redirect("frmRecetaEdicion.aspx?ID_Receta=" + ID);
                if (valor == 0)
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Error", "alert('Se debe de seleccionar un registro.');", true);
            }
            catch (Exception ex)
            {
                
            }
        }

        protected void btnNuevo_Click(object sender, EventArgs e)
        {
            Response.Redirect("frmRecetaEdicion.aspx?ID_Receta=0");
        }
    }
}